公開: 2021年10月18日
更新: 2021年10月18日
この問題は、プログラムの実現においては、プログラミング言語でプログラムを記述する作業よりも、複数のプログラムを統合して1つのサブシステムに組み上げる統合という処理に時間がかかっていたからである。これは、各プログラムで使われている変数の名前の中に、複数のプログラムで使われる変数を同一のものと認識し、それに同一の記憶域を割り当てなければならないためである。これをリンカと呼ばれる特殊なプログラムを使って実施する。このリンカの処理に必要な時間が長かったのである。最近では、プログラムで参照される変数を完全に分析せずに、一時的な変数名の一覧を作成し、そのプログラムの実行時に本当にその変数が参照される時点で、その変数が複数のプログラムで共有される変数であるかどうかを調べ、既に値が代入されている変数であれば、そのアドレスを同定して、そこから値を読み出せるようにする動的リンキングと言う方法が考え出され、リンカの処理時間が大幅に短縮されたため、問題にはならなくなっている。ただし、これは開発過程におけるリンカの処理時間は短縮できるが、プログラムの実行時にリンク処理の後半部分を実行するので、プログラムの実行時間は遅くなると言う別の問題は発生する。